<html>
<head><meta charset="utf-8"><title>Cost of switching runtimes · wg-async-foundations · Zulip Chat Archive</title></head>
<h2>Stream: <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/index.html">wg-async-foundations</a></h2>
<h3>Topic: <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/Cost.20of.20switching.20runtimes.html">Cost of switching runtimes</a></h3>

<hr>

<base href="https://rust-lang.zulipchat.com">

<head><link href="https://rust-lang.github.io/zulip_archive/style.css" rel="stylesheet"></head>

<a name="234637050"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/Cost%20of%20switching%20runtimes/near/234637050" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> rylev <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/Cost.20of.20switching.20runtimes.html#234637050">(Apr 15 2021 at 08:29)</a>:</h4>
<p>We have a few stories which highlight the fact that choosing a runtime upfront can be quite expensive. Do we feel that we are properly representing the cost of switching runtimes when a project is already fairly mature? I think we have the hope that runtimes are generally fairly swappable, but this is definitely not the case currently, and I don't think we have a story that reflects this. Thoughts?</p>



<a name="234645976"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/Cost%20of%20switching%20runtimes/near/234645976" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nagisa <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/Cost.20of.20switching.20runtimes.html#234645976">(Apr 15 2021 at 09:44)</a>:</h4>
<p>Definitely painful, even between versions of the same one (tokio). But unclear to me how to solve generically given that runtimes do tend to provide not only the event loop bit also a number of APIs built on it.</p>



<a name="234646116"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/Cost%20of%20switching%20runtimes/near/234646116" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nagisa <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/Cost.20of.20switching.20runtimes.html#234646116">(Apr 15 2021 at 09:45)</a>:</h4>
<p>This feels like a different kind of function coloring problem but in this case one that occurs implicitly and is not immediately apparent before you're hitting problems.</p>



<a name="234675805"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/Cost%20of%20switching%20runtimes/near/234675805" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/Cost.20of.20switching.20runtimes.html#234675805">(Apr 15 2021 at 13:36)</a>:</h4>
<p>I think that's a great idea; the fact that it is not clear how to solve it is not a reason to avoid talking about it</p>



<a name="234675858"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/Cost%20of%20switching%20runtimes/near/234675858" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/Cost.20of.20switching.20runtimes.html#234675858">(Apr 15 2021 at 13:36)</a>:</h4>
<p>quite the opposite, from my point of view</p>



<a name="234676672"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187312-wg-async-foundations/topic/Cost%20of%20switching%20runtimes/near/234676672" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Stu <a href="https://rust-lang.github.io/zulip_archive/stream/187312-wg-async-foundations/topic/Cost.20of.20switching.20runtimes.html#234676672">(Apr 15 2021 at 13:41)</a>:</h4>
<p>Having a set of API designs that are <em>recommended</em> to be implemented the same by every runtime would be a major plus point.<br>
It would make switching runtimes easy but also integrates really well with a runtime-agnostic library (<a href="https://github.com/rust-lang/wg-async-foundations/issues/45">#45</a>)</p>



<hr><p>Last updated: Aug 07 2021 at 22:04 UTC</p>
</html>